<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /*
        倒计时效果：
                1.获取两个时间点
                2，转化为时间戳 并相减
                3.结果 转化为时分秒
        */

        /*
        转化公式如下：
                1. d = parseInt(总秒数/60/60/24);
                1. h = parseInt(总秒数/60/60%24);
                1. m = parseInt(总秒数/60%60);
                1. s = parseInt(总秒数%60);
        */

        // 1. 某个时间点到当前的倒计时
        function countDowm(date) {

            // 获取时间
            let d1 = new Date();

            // 时间戳
            d1 = d1.getTime();
            let d2 = date.valueOf();

            // 时间戳差值

            let sub = d2 - d1;
            sub = sub / 1000;

            // 计算公式
            h = parseInt(sub / 60 / 60 % 24)//计算小时
            m = parseInt(sub / 60 % 60)//计算分钟
            s = parseInt(sub % 60)//计算当前秒数

            // 补零

            h = h < 10 ? '0' + h : h;
            m = m < 10 ? '0' + m : m;
            s = s < 10 ? '0' + s : s;

            // 字符串拼接

            return h + ":" + m + ":" + s;


        }

        let result = countDowm(new Date("2022-8-18 12:00:00"));
        console.log(result);
    </script>
</body>

</html>